import libnum
import uuid
import gmpy2

flag = "flag{" + str(uuid.uuid4()) + "}"
m=libnum.s2n(flag)
e = 65535

while 1:
    p = libnum.generate_prime(340)
    q = libnum.generate_prime(340)
    r = libnum.generate_prime(340)
    if libnum.gcd(p-1,e)==3 and libnum.gcd(q-1,e)==3 and libnum.gcd(r-1,e)==3:
        break
n1 = q * p
n2 = q * r

a=3767
b=3691

#
for i in range(p-a+1,p-1):
    m=m*libnum.invmod(i,p)%p
#
for i in range(q-b+1,q-1):
    m=m*libnum.invmod(i,q)%q

c1 = pow(m,e,n1)
c2 = pow(m,e,n2)

print("n1=",n1)
print("n2=",n2)
print("c1=",c1)
print("c2=",c2)
n1= 1904313132335553332563685640224501316195060387039291454258452657299821538626735989493633983166720104217906850724297422905386250118815390783778373130982501216186565806218413706810373737826812052732515316227
n2= 2081212402787314500762252532904754336373063108132323763913408124916283326311311086247668153397845776240607423386320395552712872826748488036200057702186911826955275205171379436467643966507303879412715388417
c1= 146822144924317933479803034634922706093216428349697245803232931101484754036831548165333255387044190888525919724536111520190503320074503845896398342343466020973345780819882902367082602135401975062012075491
c2= 1567206971447556732505405347544299472008268564665307946088792360700095261216102457334780804905677091772881892154862377425268658425350748418690599174682298546862528649420909809375619107070854365785712028666


